package com.test.mapper;

import com.test.pojo.User;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

/**
 * @author 3489309323@qq.com
 * @create 2020-06-07-20:02
 */
/*
Mapper和以前我们jdbc写Dao时 需要自己实现类
但Mapper不用

在mybatis中 只需要为mapper接口编写 mapper接口方法中要执行的sql语句 的配置文件(UserMapper.xml)
然后在mybatis核心配置文件中声明加载该配置文件(UserMapper.xml)
* */
public interface UserMapper {
  public User queryUserById(Integer id);

  public List<User> queryUsers();

  public int saveUser(User user);

  public int deleteUserById(Integer id);

  public int updateUserById(User user);

  /**
   * 1. 将查询回来的每一行记录都封装为User对象. <br/>
   * 2. 按照指定的列(一般是主键列)作为key保存查询到的数据,分装为Map <br/>
   *
   * @return
   */
  @MapKey("id") /**← 这里是将查到的数据(user)的 id列 作为要保存到map的key值*/
  public Map<Integer, User> queryUsersForMap();
/*
1:User{id=1, lastName='wzg168', sex=1}
2:User{id=2, lastName='admin', sex=1}
3:User{id=3, lastName='ahhh', sex=0}
5:User{id=5, lastName='ccc', sex=1}
6:User{id=6, lastName='ddd', sex=1}
7:User{id=7, lastName='eee', sex=1}
8:User{id=8, lastName='fff', sex=1}
*/
}
